package it.azienda.managerworkstandard.view;

import it.azienda.framework.persistenza.DAOConnectionSingleton;
import it.azienda.framework.utilita.Utilita;
import it.azienda.framework.view.Dettaglio;
import it.azienda.managerworkstandard.modello.BeanAspetto;
import java.util.ArrayList;
import javax.faces.component.html.HtmlForm;
import javax.faces.context.FacesContext;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class DettaglioAspetto extends Dettaglio{
    
    private HtmlForm form = new HtmlForm();
    private BeanAspetto beanAspetto;
    
    public void setBeanAspetto(BeanAspetto beanAspetto) {
        setObj(beanAspetto);
        this.beanAspetto = beanAspetto;
    }
    
    public BeanAspetto getBeanAspetto(){
        return (BeanAspetto)getObj();
    }
    
    public HtmlForm getForm() {
        form = (HtmlForm) Utilita.getSession().getAttribute("form");
        if (form == null) {
            form = new HtmlForm();
        }
        Utilita.getSession().removeAttribute("form");
        return form;
    }
    
    public void setForm(HtmlForm form) {
        setFormObject(form);
        this.form = form;
        Utilita.getSession().setAttribute("form",form);
    }
    /*
    public void primaInserimento(Object obj) {
        FacesContext ctx = FacesContext.getCurrentInstance();
        beanAspetto =(BeanAspetto) ctx.getExternalContext().getRequestMap().get("beanAspetto");
        String query=" select max(aspetto.codice) from BeanAspetto aspetto";
        Session session = null;
        Transaction tr = null;
        try {
            session = DAOConnectionSingleton.newSession();
            tr = session.beginTransaction();
            Query q = null;
            q = session.createQuery(query);
            ArrayList listaCodice = (ArrayList) q.list();
            Integer cod=(Integer) listaCodice.get(0);
            if(cod!=null){
                this.beanAspetto.setCodice(new Integer(cod.intValue()+1));
            }else{
                this.beanAspetto.setCodice(new Integer(1));
            }
        } catch (Exception e) {
        }
    }
     */
    
    public boolean controlliPrimaSalvataggio() {
        FacesContext ctx = FacesContext.getCurrentInstance();
        beanAspetto =(BeanAspetto) ctx.getExternalContext().getRequestMap().get("beanAspetto");
        boolean errori = false;
        
        if(beanAspetto.getCodice() == null){
            String query=" select max(aspetto.codice) from BeanAspetto aspetto";
            Session session = null;
            Transaction tr = null;
            try {
                session = DAOConnectionSingleton.newSession();
                tr = session.beginTransaction();
                Query q = null;
                q = session.createQuery(query);
                ArrayList listaCodice = (ArrayList) q.list();
                Integer cod=(Integer) listaCodice.get(0);
                if(cod!=null){
                    this.beanAspetto.setCodice(new Integer(cod.intValue()+1));
                }else{
                    this.beanAspetto.setCodice(new Integer(1));
                }
            } catch (Exception e) {
            }
        }       
        return false;
    }
}
